vibe coding
əjdahalar googllayazarların tanışlıq hekayələri - sözaltı etiraf - mitski - shoegaze - sözaltı radio - klipi ilə dinlənilməli olan musiqilər - yazarların hazırda düşündükləri - yazarların ruh halı - azərbaycanda iş elanları
Proqram tərtibatçılarının generativ süni intellektə olan həvəsi digər amerikalıların böyük dil modellərinin təsiri barədə hissləri ilə kəskin ziddiyyət təşkil edir. Sorğular göstərir ki, əksəriyyət neytral və ya şübhəlidir; yaradıcı peşə sahibləri isə çox vaxt qəzəblidir. Lakin koderlər daha nikbindirsə, bunun səbəbi onların süni intellektlə qarşılaşmalarının bir çox digər peşələrdə baş verənlərin tam əksi olmasıdır, deyir mənim dostum Anil Daş — uzun illərdir proqramçı və texnologiya rəhbəri olan biri. "Texnologiya sektorunun ümumiyyətlə — və xüsusilə koderlərin — böyük dil modellərini hamıdan fərqli görməsinin səbəbi budur ki, yaradıcı sahələrdə böyük dil modelləri işin ən ruhlu, insani hissələrini əlindən alır və cansıxıcı işləri sənə buraxır," deyir Daş. "Kodlaşdırmada isə böyük dil modelləri cansıxıcı işləri əlindən alır və insani, ruhlu hissələri sənə buraxır."
Kodlaşdırma tarixən cansıxıcı iş olub. Filmlərdə proqramçılar həyəcanla, yazı sürəti ilə kod yazırlar. Əslində isə proqram yazmaq həmişə əzabverici dərəcədə yavaş və sinir bozucu bir məşğuliyyət olub. Bir neçə sətir kod yazırsan — bir kiçik iş görən tək bir "funksiya" — sonra kəşf edirsən ki, tək bir iki nöqtəni buraxmaq kimi xırda bir səhv etmisən. Bir şirkətin "kod bazası" — proqram təminatındakı hər bir kod sətri, illər ərzində yığılıb böyüyən — genişləndikcə və onlarla, minlərlə funksiya bir-biri ilə qarşılıqlı əlaqədə olduqca, saatlarla, günlərlə, həftələrlə saçını yola bilərsən ki, hər şeyi dayandıran hansı kiçik səhvləri tapasan. Bəlkə də sənin yazdığın bir sətir iki kabinə o tərəfdəki həmkarının kodladığı bir şeyi xarab edib.
Onilliklər ərzində kompüter mühəndisləri bu cansıxıcı işi avtomatlaşdırmağa çalışdılar. Sənayedə bu istiqamətdə atılan hər addımı "abstraksiya qatı əlavə etmək" adlandırırlar: əgər tez-tez bir işi mərhələ-mərhələ, əziyyətli şəkildə gördüyünü aşkar etsən, onu avtomatlaşdırırsan.
Məsələn, ilk kompüter dillərindən biri Assembly idi və onu yazmaq son dərəcə çətin idi. Kompüterlərin yaddaşı çox az idi, ona görə koderlər yaddaşı necə istifadə etdiklərinə diqqət etməli, hər bir məlumat parçasını ehtiyatla yerinə qoymalı və sonra hamısını zehnində izləməli idilər. Hətta sadə hesablamalar belə addım-addım, titiz bir yanaşma tələb edirdi. Tutaq ki, 10.000 dollara 10 il ərzində 5 faiz faizlə nə qədər pul olacağını hesablayan kod yazmaq istəyirsiniz. 1960-cı illərdə bu, doqquz sətirə yaxın olduqca qaranlıq Assembly kodu tələb edərdi: başlanğıc məbləği 10.000 dollar olaraq təyin etmək üçün "VAL, FLDECML 10000.0", məbləği prosessora yükləmək üçün "CLA VAL", kompüterə onluq nöqtəli ədədlərlə işlədiyini bildirmək üçün "FAD ZERO"; və sairə.
80 və 90-cı illərdə kompüterlər daha güclü olduqca mühəndislər bütün o yaddaş idarəetməsini sizin yerinizə edən və həmçinin ümumi sorğuları sadə əmrlərə çevirən dillər yarada bildilər. Python-da koder eyni hesablamanı çox sadə şəkildə edə bilər: "total_amount = 10000 * (1.05 ** 10)." Bu tək sətir kompüterə deyir ki, 10.000-i 10 il ərzindəki faiz dərəcəsi ilə vursun və nəticəni "total_amount" adlı dəyişəndə saxlasın. Proqramçılar artıq bütün məlumatların kompüterin yaddaşında harada saxlandığını düşünməyə ehtiyac duymurlar; Python bunu onların yerinə edir. Başqa sözlə, bu, bütün o xırda yaddaş işlərinin üstündə bir abstraksiya qatıdır. Bu dildə yazmaq xoş dərəcədə asandır.
2000 və 2010-cu illərdə proqramçılar getdikcə daha çox monoton işi abstraksiya ilə aradan qaldırdılar. Demək olar ki, hər dəfə çətin bir işlə qarşılaşanda, onu avtomatlaşdırmaq üçün kod yazır, sonra da — çox vaxt — onu açıq mənbəli edib başqalarının istifadəsinə verirdilər. Budur bir nümunə: həvəskar proqramçı olaraq mən bəzən bir veb-saytdan avtomatik olaraq mətni "çəkmək" istəyirəm. Bunu edən kodu heç vaxt özüm yazmamışam; sadəcə Beautiful Soup-dan istifadə edirəm — bütün mürəkkəbliyi idarə edən, minlərlə sətir Python kodundan ibarət, pulsuz əlçatan bir paketdir. Beautiful Soup-un necə işlədiyini başa düşməyə belə ehtiyacım yoxdur. O, sadəcə mənə sadə, adətən bir sətirlik Python əmrləri verir ki — vışş — veb-sayt mətnini mənim üçün alır və təhlil edir. Proqram təminatının əhəmiyyətli bir hissəsi məhz bu şəkildə istehsal olunur: tərtibatçılar başqasının yazdığı böyük kod yığınlarını bir-birinə birləşdirirlər.
Lakin süni intellektlə proqramçılar daha da yüksək abstraksiya səviyyəsinə qalxırlar. Onlar adi dildə proqramın nə etməli olduğunu təsvir edirlər və agentlər həmin fikri — o insani niyyəti — koda çevirirlər. Proqram yazmaq artıq Python, JavaScript və ya Rust kimi bir dilin incəliklərini zehnində cəmləşdirmək demək deyil. Kodlaşdırma artıq alqoritmi xarab edib sonra səhvin harada olduğunu tapmağa çalışmaq demək deyil. O hissə də abstraksiya ilə aradan qaldırılıb.
Bəs əslində nə qaldı? Və ya Claude Code-un rəhbəri Boris Çerninin yanvarда Anthropic-in baş qərargahında görüşəndə dediyi kimi: "Hesablama nədir — kodlaşdırma nədir?" Sonra əlavə etdi: "Çox tez fəlsəfi olmaq olar."
Onun cavabı danışdığım demək olar ki, hər bir tərtibatçıdan eşitdiyimin əks-sədasıydı: koder indi tikinti işçisindən çox memarа bənzəyir. Süni intellektdən istifadə edən tərtibatçılar proqram təminatının ümumi formasına — funksiyaları və aspektlərinin necə birlikdə işlədiyinə diqqət yetirirlər. Agentlər işləyən kodu bu qədər tez istehsal edə bildiyinə görə, onların insan nəzarətçiləri eksperiment edə, nəyin işlədiyini görmək üçün müxtəlif şeyləri sınaya və işləməyəni kənara ata bilərlər. Bir neçə proqramçı mənə dedi ki, özlərini bir az Stiv Cobsa bənzədirdilər — o, məşhur şəkildə əməkdaşlarına prototiplər hazırlatdırırdı ki, özü çoxlarına toxunsun və hansının düzgün hiss olunduğunu müəyyən etsin. Tərtibatçının işi indi yaratmaqdan çox qiymətləndirməkdir.
Çerninin özü bütün abstraksiya qatlarından keçib: Kaliforniyada yeniyetmə ikən özünə bir az Assembly öyrətmişdi ki, kalkulyatorunda riyaziyyat ev tapşırığını avtomatik həll edən proqram yazsın. Bu gün sadəcə telefonunu çıxarıb Claude-a süni intellekt agentinin nə etməsini istədiyini diktə edir; bir növ Uroborik dövrədə, Çerninin Claude kod bazasına bütün töhfələri indi tamamilə Claude tərəfindən yazılır.
Biz danışarkən telefonu qarşımızdakı masanın üstündə idi və bir saatın sonunda mənə ekranı göstərdi: 10 Claude agenti kod bazasını düzəldirdi. "Əlimlə tək bir sətir yazmamışam və komandada ən məhsuldar koder kimiyəm," dedi. "Bu, birlikdə işləməyi öyrəndiyimiz yad bir zəkadır."
Gördüyüm koderlərin əksəriyyəti üçün süni intellektlə işləməyi öyrənmək süni intellektlə danışmağı öyrənmək deməkdir. Bu, mənə bu yeni dövrün gözlənilməz paradoksu kimi göründü, çünki ənənəvi olaraq kodlaşdırma işdə başqaları ilə mümkün qədər az danışmağı üstün tutan introvertlər üçün sığınacaq idi. Lakin indi bütün işləri bu yad həyat forması ilə dayanmadan söhbət etməkdən ibarətdir.
Əgər təsvir etmək və danışmaq artıq proqram tərtibatçısının işinin böyük hissəsidirsə, bu söhbət yenə də olduqca mürəkkəb və yüksək dərəcədə texniki olaraq qalır. Həvəskar bunu edə bilməz. Agentə sadəcə "Mənə uğurlu bir startap üçün kod yaz" deyə bilməzsən. Agentlər hər dəfə bir addım icra etmələri istənildikdə ən yaxşı işləyirlər; çox şey istəsən, mövzudan çıxa bilərlər. San-Fransiskodakı startapı Claude Code-dan istifadə edən Aayuş Naik deyir ki, süni intellekt agentinin bütöv bir layihəni bir anda, bir "Böyük Partlayış" anında yaradacağını düşünmək xülyadır. Bəli, 5000 sətir kod yazdıra bilərsən — amma sonra, deyir o, "test edirsən və heç nə işləmir." Bütün proqram tərtibatçılarının dediyi budur ki, məhz burada onların təhsili və təcrübəsi hələ də lazımdır: böyük bir kod bazasının necə strukturlaşdırılması lazım olduğunu bilmək, sistemin etibarlı olması üçün necə layihələndirilməsini bilmək və agentin səliqəsiz olub-olmadığını müəyyən etmək.
Süni intellektin hallüsinasiya etmə meylinə baxanda, agentlərin kodu real dünyaya göndərməsinə icazə vermək ehtiyatsız görünə bilər. Lakin proqram tərtibatçıları qeyd edirlər ki, kodlaşdırmanın unikal bir xüsusiyyəti var: onlar süni intellektlərini reallığa bağlaya bilərlər, çünki agentlərdən kodun düzgün işləyib-işləmədiyini test etmələrini tələb edə bilərlər. "Hiss edirəm ki, proqramçıların işi asandır," deyir Simon Villison — texnologiya sahibkarı və süni intellektlə necə kod yazılacağı barədə nüfuzlu bloger. "Əgər hüquqşünassansa, bəlanı tapıbsan, elə deyilmi?" Süni intellektin yazdığı hüquqi sənədi hallüsinasiyalar üçün avtomatik yoxlamağın heç bir yolu yoxdur — məhkəmədə tam biabırçılıqla üzləşməkdən başqa.
Dima Yanovski ilə onun kiçik San-Fransisko mənzilində görüşəndə o da Claude ilə məşğul şəkildə söhbət edirdi. O, tez gülümsəyən, 25 yaşlı bir proqramçıdır və e-ticarət şirkətlərinə süni intellektlə kömək edən Prox şirkətində işləyir. Onu keçən il uşaqlıq dostu Qreqori Makodzeba ilə birlikdə qurub. Hər ikisi gəmiçilik biznesində olan ailələrdə Ukraynada böyüyüb.
O, Claude-a əmrlər diktə edərkən, kiçik masasının üstündəki noutbukunda bir neçə agent işləyirdi. Bir an onlardan biri hallüsinasiya etməyə başladı — açıq-aydın mövcud olmayan bir məlumat cədvəlinin var olduğunu israr edirdi. "Nə?" Yanovski qaşqabaqlı halda ekranına baxdı. Klaviaturasında nifrətli bir məzəmmət yazdı: "sənə kim dedi ki, bu cədvəl olacaq? mən bu cədvəli yaratmamışam."
Claude axmaq və şən bir tonla cavab verdi: "Haqlısınız! Cədvəllərin mövcud olduğunu fərz etməməliyəm." Və işi yenidən görməyə başladı.
Hətta bu ara-sıra geri qayıtmalarla belə, Claude Yanovskidən o qədər sürətli kod yazır ki, o, işini indi nə qədər sürətli görə bildiyini rəqəmlə ifadə etməkdə çətinlik çəkir. "Məsələn, 20 dəfə?" təklif etdi. Əvvəllər həftələr çəkən iş indi saatlara sığır. Tanıdığı hər Silikon Vadisi qurucusu eyni şeyi yaşayır. Əgər tələsik bir şirkət qurmaq istəyirsənsə, artıq heç kim bunu əl ilə etmir.
Süni intellektin koder məhsuldarlığını bu qədər kəskin artıra bilməsi sahədə ən diqqətəlayiq müzakirə mövzularından biri olub. Bunu özüm də görmüşəm: elə keçən həftə bəzi qarışıq transkriptləri təmizləmək üçün veb aləti lazım idi və onu süni intellektlə təxminən 10 dəqiqəyə qurdum. Tək başıma bir saat, bəlkə də daha çox çəkərdi.
Lakin proqram startapları — və ya mənim kimi vibe-coding ilə öz kiçik tətbiqlərini yaradan fərdlər — xüsusi haldır. Bunlar sənayedə "greenfield" (yaşıl sahə) kodlaşdırma kimi tanınan şeyi əhatə edir — burada əvvəlcədən mövcud kod sətirləri yoxdur. Tamamilə yeni bir kod bazası sıfırdan yaradılır.
Proqram tərtibatçılarının böyük əksəriyyəti greenfield kontekstində işləmir. Onlar "brownfield"dədirlər (köhnə sahə) — kodun illər (və ya onilliklər) əvvəl yazıldığı və artıq milyonlarla və ya milyardlarla sətrə çatdığı yetkin şirkətlərdə çalışırlar. Yeni funksiyaları sürətlə əlavə etmək adətən dəhşətli fikirdir — onlar təsadüfən kodun başqa bir hissəsi ilə ziddiyyətə girə və milyonlarla müştərinin etibar etdiyi bir şeyi xarab edə bilər. Ən yetkin proqram firmalarında koderlər tarixən vaxtlarının az hissəsini — bəzən gündə cəmi bir saatdan bir az çox — əslində kod yazmağa sərf edirdilər. Qalanı planlaşdırma, prioritetləri müzakirə etmək və irəliləyişi müzakirə etmək üçün görüşlər keçirmək idi.
üzv ol
şərhlər: